home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.mactech.com 2010
/
ftp.mactech.com.tar
/
ftp.mactech.com
/
util
/
Mac F2C 1.3.sit
/
Mac F2C 1.3
/
Mac F2C Libraries
/
libF77 Sources
/
sig_die.c
< prev
next >
Wrap
C/C++ Source or Header
|
1995-09-12
|
923b
|
59 lines
#include "stdio.h"
#include "signal.h"
#if defined(TPM_F2C) || defined(SPM_F2C) || defined(CW_F2C)
#include <setjmp.h>
extern jmp_buf gRecoverToConsole;
#endif
#ifndef SIGIOT
#ifdef SIGABRT
#define SIGIOT SIGABRT
#endif
#endif
#ifdef KR_headers
void sig_die(s, kill) register char *s; int kill;
#else
#include "stdlib.h"
#ifdef __cplusplus
extern "C" {
#endif
extern void f_exit(void);
void sig_die(register char *s, int kill)
#endif
{
/* print error message, then clear buffers */
fprintf(stderr, "%s\n", s);
#if defined(TPM_F2C) || defined(SPM_F2C) || defined(CW_F2C)
fflush(stderr);
fflush(stdout);
longjmp( gRecoverToConsole, 1 );
#else
if(kill)
{
fflush(stderr);
f_exit();
fflush(stderr);
/* now get a core */
#ifdef SIGIOT
signal(SIGIOT, SIG_DFL);
#endif
abort();
}
else {
#ifdef NO_ONEXIT
f_exit();
#endif
exit(1);
}
#endif /* TPM, SPM, and CW */
}
#ifdef __cplusplus
}
#endif